namespace devtm.Aop.Emit
{
    using System;
    

    [Serializable]
    public class EmitBinaryOperatorExpression : EmitExpression
    {
        private EmitExpression left;
        private BinaryOperatorType op;
        private EmitExpression right;


        public EmitBinaryOperatorExpression()
        {
        }

        public EmitBinaryOperatorExpression(EmitExpression left, BinaryOperatorType op, EmitExpression right)
        {
            this.Right = right;
            this.Operator = op;
            this.Left = left;
        }

        public EmitExpression Left
        {
            get
            {
                return this.left;
            }
            set
            {
                this.left = value;
            }
        }

        public BinaryOperatorType Operator
        {
            get
            {
                return this.op;
            }
            set
            {
                this.op = value;
            }
        }

        public EmitExpression Right
        {
            get
            {
                return this.right;
            }
            set
            {
                this.right = value;
            }
        }



        public override System.Collections.Generic.IEnumerable<Mono.Cecil.Cil.Instruction> Compile()
        {
            throw new NotImplementedException();
        }
    }
}
